package com.fowo.api.model.tmp.wfs.cargo.item;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.excel.ImageConvert;
import com.fowo.api.sys.entity.SysFile;
import java.util.List;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** WFS货件子表临时表 导入导出辅助模型 */
@Getter
@Setter
public class TmpWfsCargoItemExcelPo {

  @Size(max = 50, message = "入库订单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "入库订单号")
  private String inboundOrderId;

  @Size(max = 50, message = "货件号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "货件号")
  private String shipmentId;

  @Size(max = 50, message = "GTIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "GTIN")
  private String gtin;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String sku;

  @Size(max = 50, message = "商品描述长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品描述")
  private String itemDesc;

  @Size(max = 50, message = "商品总数长度不能超过20")
  @ExcelProperty(value = "商品总数")
  private Integer itemQty;

  @Size(max = 50, message = "总箱数长度不能超过20")
  @ExcelProperty(value = "总箱数")
  private Integer vendorPackQty;

  @Size(max = 50, message = "每箱数量长度不能超过20")
  @ExcelProperty(value = "每箱数量")
  private Integer innerPackQty;

  @ExcelProperty(value = "签收数量")
  private Integer receivedQty;

  @ExcelProperty(value = "损坏数量")
  private Integer damagedQty;

  @ExcelProperty(value = "填充率")
  private java.math.BigDecimal fillRate;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "预期交付日期")
  private java.util.Date expectedDeliveryDate;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "更新预期交付日期")
  private java.util.Date updatedExpectedDeliveryDate;

  @Size(max = 50, message = "承运人长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "承运人")
  private String shipNodeName;

  @ExcelProperty(value = "图片", converter = ImageConvert.class)
  private List<SysFile> img;

  @Size(max = 50, message = "品名长度不能超过20")
  @ExcelProperty(value = "品名")
  private Long productName;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String localSku;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否更新数据")
  private String isUpdate;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "货件创建时间")
  private java.util.Date receivingStartDate;
}
